#pragma once
/*
@author TriLVH
@description management contra state
*/

#include "ContraData.h"



class ContraStateInterface {

protected:
	/* Pointer to contra data */
	ContraData* _data;
public:
	/* Contra stand state */
	virtual void stand() = 0;

	/* Contra stand up state */
	virtual void standUp() = 0;

	/* Contra move right state */
	virtual void moveRight() = 0;

	/* Contra move left state */
	virtual void moveLeft() = 0;

	/* Contra fire state */
	virtual void fire() = 0;

	/* Contra sit state*/
	virtual void sit() = 0;

	/* Contra update state */
	virtual void update() = 0;

	/* Draw current contra state */
	virtual void draw(long time) = 0;

	/* Contra fly state */
	virtual void fly() = 0;

	/* Contra reach to land */
	virtual void firstOnLand()  = 0;
};